契約に依る設計 (DbC)
design by contract
契約プログラミング - Wikipedia
Design by contract - Wikipedia
code:clj
(defn f
"demand-side"
[]
(g x))
(defn g
"dupply-side"
x
)
demand-side
事前條件を滿たす義務
事後條件が滿たされる權利
supply-side
事前條件が滿たされる權利 (validation)
事後條件を滿たす義務 (sanitize)
Hoare 論理
Liskov の置換原則 (LSP)